// pat.cpp : 定义控制台应用程序的
//#include "stdafx.h"
#include"stdio.h"
#include<iostream>
#include<string>
using namespace std;
typedef long long ll;
const int maxn=100;
string p,t;
int nextval[1000001];
//获取模式串的next数组
//next[0]=-1意味着以第0个位置前面没有和他匹配的字符串
void getnext(string s){
int len=s.length();
int j=-1;
nextval[0]=-1;
/*i从1开始,假设s[i-1]和s[j]已经匹配好了,s[i]和s[j+1]如果不能匹配,那么就要回到上一个和相等的位置上去,直到j回到了-1*/
for(int i=1;i<len;i++)
{ if(j!=-1&&s[i]!=s[j+1])
{j=nextval[j];}
if(s[i]==s[j+1])j++;
nextval[i]=j;}}
int cal(string t,string p){
getnext(p);
int n=t.length();
int m=p.length();
int j=-1;
int ans=0;
for(int i=0;i<n;i++){
//如果匹配不上,j跳到next[j]的位置
while(j!=-1&&t[i]!=p[j+1])j=nextval[j];
if(t[i]==p[j+1])j++;
if(j==m-1){
ans++;
//如果完全匹配上了,j还是跳到next[j]的位置进行二次匹配
j=nextval[j];
}
}
return ans;
}
int main(){
//freopen("c://jin.txt","r",stdin);
while(cin>>t>>p){
cout<<cal(t,p)<<endl;
}
//freopen("CON","r",stdin);
//system("pause");
return 0;
}